﻿using EyFramework.Sys.Core;
using Ncov2019.Entity;
using Ncov2019.Entity.Dto;
using System.Collections.Generic;

namespace Ncov2019.Core.Service
{
    /// <summary>
    ///  NCOV_ORDER_RECORD表的相关服务接口
    /// </summary>
    public interface INcovOrderRecordService : IBaseHisService
    {
        List<NcovOrderRecordDto> QueryDataByRecSeq(long detailDataSeq);

        List<long> QueryHasImport(long record_seq);

        bool AddNcovUsers(long record_seq, List<NcovUsersDto> ncovUsers);

        bool ClearOrders(long rECORD_SEQ);

        bool DeleteOrders(List<NcovOrderRecordDto> orders);

        void update(NcovOrderRecordDto ncovOrder);

        bool LisOrder(NcovOrderRecordDto order);

        bool NcovFreeOrder(NcovFreeOrderParam orderParam);

        bool CancelNcovFreeOrder(NcovOrderCacnel ncovOrderCacnel);

        List<NcovOrderRecord> QueryData(NcovRecordParam param);

        NcovOrderRecord QueryLastByIdNo(string shenFenZh);

        /// <summary>
        /// 根据条件检索病人信息，根据建档日期倒序排列
        /// </summary>
        /// <param name="sInput"></param>
        /// <returns></returns>
        List<GyBingrenxxDto> SearchBrxx(string sInput);

        /// <summary>
        /// 本院体检核酸开单
        /// </summary>
        /// <param name="ncovOrder"></param>
        /// <returns></returns>
        bool NcovOrder(NcovOrderRecordDto ncovOrder);

        /**
         * 判断条码是否有效
         */

        bool IsValid(NcovOrderRecordDto order);
    }
}